package com.yfp.machine.service;

import com.yfp.machine.domain.Ad;
import com.yfp.machine.domain.dto.AdDto;
import com.yfp.machine.domain.vo.AdResourceVo;

import java.util.List;

/**
 * (Ad)表服务接口
 *
 *
 * @since 2023-12-28 14:52:00
 */
public interface AdService {

    /**
     * 通过ID查询单条数据
     *
     * @param adId 主键
     * @return 实例对象
     */
    AdDto queryById(String adId);

    /**
     * 分页查询
     *
     * @param ad 筛选条件
     * @return 查询结果
     */
    List<Ad> queryByPage(Ad ad);

    /**
     * 新增数据
     *
     * @param ad 实例对象
     * @return 实例对象
     */
    Ad insert(Ad ad);

    /**
     * 修改数据
     *
     * @param ad 实例对象
     * @return 实例对象
     */
    AdDto update(Ad ad);

    /**
     * 全部查询
     *
     * @param ad 广告
     * @return {@link List}<{@link Ad}>
     */
    List<AdDto> queryAdAll(Ad ad);

    /**
     * 新增广告资源
     *
     * @param adResourceVo 广告资源vo
     * @return int
     */
    boolean addAdResource(AdResourceVo adResourceVo);

    /**
     * 更新广告资源
     *
     * @param adResourceVo 广告资源vo
     * @return boolean
     */
    boolean updateAdResourceVo(AdResourceVo adResourceVo);

    /**
     * 删除广告
     *
     * @param adId 广告id
     * @return boolean
     */
    boolean deleteAd(String adId);
}
